package com.ruoyi.job.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import com.ruoyi.common.core.constant.ScheduleConstants;
import com.ruoyi.common.core.web.domain.BaseEntity;

import java.io.Serializable;

/**
 * 定时任务调度表 sys_job
 * 
 * @author ruoyi
 */
@Data
@TableName("sys_job")
@Schema(name = "SysJob对象", description = "任务")
public class SysJob implements Serializable
{
    private static final long serialVersionUID = 1L;


    /** 任务ID */
    @TableId(value = "job_id", type = IdType.AUTO)
    @Schema(description = "任务id")
    private Long jobId;

    /** 任务名称 */
    @Schema(description = "任务名称")
    @TableField("job_name")
    private String jobName;

    /** 任务组名 */
    @Schema(description = "任务组名")
    @TableField("job_group")
    private String jobGroup;

    /** 调用目标字符串 */
    @Schema(description = "调用目标字符串")
    @TableField("invoke_target")
    private String invokeTarget;

    /** cron执行表达式 */
    @Schema(description = "执行表达式 ")
    @TableField("cron_expression")
    private String cronExpression;

    /** cron计划策略 */
    @Schema(description = "0=默认,1=立即触发执行,2=触发一次执行,3=不触发立即执行 ")
    @TableField("misfire_policy")
    private String misfirePolicy = ScheduleConstants.MISFIRE_DEFAULT;

    /** 是否并发执行（0允许 1禁止） */
    @Schema(description = "并发执行0=允许,1=禁止 ")
    @TableField("concurrent")
    private String concurrent;

    /** 任务状态（0正常 1暂停） */
    @Schema(description = "任务状态0正常 1暂停")
    @TableField("status")
    private String status;




}